1
構造体から抽象データ型へ
AI037Lesson 11
00:00

struct 」から「 抽象データ型(ADT) 」への移行を示しており、内部のすべての回路が露出した「ガラスボックス」から、 インターフェース実装が分離された「ブラックボックス」へと変わる。この変化により カプセル化が保証される。ユーザーは収益の計算や保存方法を知らなくても、 read または combine といった関数とやり取りできるようになる。

1. クラスの構造

クラスはすべて、 固有の型識別子を定義する。同じメンバを持つ2つのクラスであっても、C++では互換性がないと扱われる。 typedef および 前方宣言 (例: class Screen;)を使用することで、複雑な関係性を設計しつつも抽象化を維持できる。しばしば 合成されたコンストラクタ を用いる。例えば Sales_data() = default;のように、組み込み型の利便性を保つ。($$total = trans;$$)

ADT「ブラックボックス」実装(プライベート)readprintaddパブリックインターフェース

2. 非メンバインターフェース関数

read のような関数は read非メンバクラス関連関数である。これらはインターフェースの一部ではあるが、クラス自体ではない。多くの場合、 フレンドシップ プライベートデータにアクセスするために必要となる。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>